package demo1;

abstract class BattleField1{
    String Corps = "薯条";//抽象出来 兵种
    String Arms;//抽象出来 武器
    public BattleField1(String s,String t){               //父类的构造方法
        System.out.println("装备着" + t + "的" + s + "已部署");
    }
    public abstract void Action();                  //抽象方法连代码块（{}）都不能有！！！
//    public abstract void Win();               普通类要重写其所继承的抽象类中的所有方法
}

class Assault extends BattleField1{
    public Assault(String Corps,String Arms){            //子类中的构造方法
        super(Corps,Arms);
        this.Corps = "Pro哥";
    }

    @Override
    public void Action() {                      //在子类中重写父类的方法时，前者的访问权限要大于后者
        System.out.println(Corps + "正在进攻A点！！！");//为什么这里的Corps没有被赋值？
    }
}

class Medic extends BattleField1{
    public Medic(String Corps,String Arms){            //子类中的构造方法
        super(Corps,Arms);
        this.Corps = "萨尼铁塔";
    }

    @Override
    public void Action() {
        System.out.println(Corps + "正在救人！！！");
    }
}
public class Polymorphism {           //多态
    public static void main(String[] args) {
        BattleField1 game = new Assault("突击兵","SMG-08");
        game.Action();
        BattleField1 game02 = new Medic("医疗兵","针筒");
        game02.Action();
    }
}
